package com.syni.mdd.sjb.common.datatreaure.entity.vo.rp.databBankCommon;

import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;

@Data
public class HomePageDataRpVo {
    private Integer receMessagesNum = 0;
    private Integer isHaveMarketingKanban = 1;
    //今日营销看板
    private MarketingKanban marketingKanban;

    @Data
    public static class MarketingKanban{
        //进行中活动数
        private Integer marketKbActivitiesNum;
        //总参与人数
        private Integer marketKbTotalParticipants;
        //参与转化率
        private String marketPartConversionRate;
        //拉新人数
        private Integer marketKbArrivalsNum;
        //潜在营收
        private Integer marketKbPotentialRevenue;
        //新增营收
        private Integer marketKbNewRevenue;
        //ROI
        private String marketKbRoi;
        //截止时间
        private LocalDateTime marketKbDeadline;
    }

    //今日客户看板
    private CustomerKanban customerKanban;

    private Integer isHaveCustomerKanban = 1;

    @Data
    public static class CustomerKanban{
        //新增潜客数
        private Integer customerKbNewPotentialCustomers;
        //潜在营收(新增潜客数)
        private Integer customerKbPcPotentialRevenue;
        //新增客户数
        private Integer customerKbNewCustomersNum;
        //实际营收
        private Integer customerKbActualRevenue;
        //新增会员数
        private Integer customerKbNewMembersNum;
        //潜在营收
        private Integer customerKbMPotentialRevenue;
        //复购客户数
        private Integer customerKbRepurchaseCustomersNum;
        //实际营收(复购客户数)
        private Integer customerKbRcActualRevenue;
        //截止时间
        private LocalDateTime customerKbDeadline;
    }

    private Integer isHaveBusinessKanban = 1;
    //今日经营看板
    private BusinessKanban businessKanban;

    @Data
    public static class BusinessKanban{
        /**
         * 待处理订单数
         */
        private Integer businessKbOrdersProcessedNum;

        /**
         * 新增营收
         */
//        private Integer businessKbNewRevenue;
        private Double businessKbNewRevenue;

        /**
         * 总营收
         */
//        private Integer businessKbTotalRevenue;

        private Double businessKbTotalRevenue;

        /**
         * 新增订单数
         */
        private Integer businessKbNewOrdersNum;

        /**
         * 总订单数
         */
        private Integer businessKbTotalOrder;

        /**
         * 新增浏览量
         */
        private Integer businessKbNewVisitNum;

        /**
         * 转化率
         */
        private String businessKbConversionRate;

        /**
         * 经营看板统计截止时间
         */
        private LocalDateTime businessKbDeadline;
    }

    //

    private List<RecommendService> recommendServices = new ArrayList<>();

    @Data
    public static class RecommendService{
        /**
         * 服务ID
         */
        private Integer id;
        private String title;
        private String cover;
        private BigDecimal price;
    }

    @Data
    public static class Application{
        private Integer id;
        private String appName;
        private Integer appType;
        private String typeName;
        private String icon;
        private String clickUrl;
        private LocalDateTime newTime;
    }

    private List<Application> applications = new ArrayList<>();

}
